import router from '@/router'

// 获取大仓库，然后再获取小仓库
import pinia from './store'
import { useUserStore } from '@/store/modules/user.ts'

// 全局前置守卫
router.beforeEach(async (to, from, next) => {
  // 获取小仓库，必须要使用大仓库
  const userStore = useUserStore(pinia)
  // 获取用户token，判断用户是否登录，还是未登录
  const token = userStore.token

  if (token) {
    // 登录成功,访问login,不能访问,指向首页
    if (to.path === '/login') {
      console.log("访问登录页")
      next({ path: '/home' })
    } else {
      next()
    }
  } else {
    // 用户未登录判断
    if (to.path === '/login') {
      next()
    } else {
      next({ path: '/login', query: { redirect: to.path } })
    }
  }
})

// 全局后置守卫
router.afterEach((to, from) => {
  // 此处无需调用 next
})

// 第一个问题: 任意路由切换实现进度条业务 ---nprogress
// 第二个问题: 路由鉴权(路由组件访问权限的设置)
// 全部路由组件: 登录|404|任意路由|首页|数据大屏|权限管理(三个子路由)|商品管理(四个子路由)

// 用户未登录: 可以访问login,其余六个路由不能访问(指向login)
// 用户登录成功: 不可以访问login[指向首页],其余的路由可以访问
